package com.mldong.modules.sys.service;

import com.mldong.base.CommonPage;
import com.mldong.modules.sys.dto.ThirdPartyCallbackPageParam;
import com.mldong.modules.sys.dto.ThirdPartyCallbackParam;
import com.mldong.modules.sys.vo.ThirdPartyCallbackVO;
import com.mldong.modules.sys.entity.ThirdPartyCallback;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 * 第三方回调处理 服务类
 * </p>
 *
 * @author mldong
 * @since 2025-10-12
 */
public interface ThirdPartyCallbackService extends IService<ThirdPartyCallback> {
    /**
    * 添加第三方回调处理
    * @param param
    * @return
    */
    boolean save(ThirdPartyCallbackParam param);

    /**
    * 更新第三方回调处理
    * @param param
    * @return
    */
    boolean update(ThirdPartyCallbackParam param);

    /**
    * 自定义分页查询第三方回调处理
    * @param param
    * @return
    */
    CommonPage<ThirdPartyCallbackVO> page(ThirdPartyCallbackPageParam param);
    /**
    * 通过id查询
    * @param id
    * @return
    */
    ThirdPartyCallbackVO findById(Long id);
    /**
     * 回调处理方法
     * @param body
     * @param channelType 渠道类型
     * @param serviceType 服务类型
     * @return
     */
    String handle(String body,String channelType,String serviceType);

    /**
     * 回调处理
     * @param thirdPartyCallback
     * @param isUpdateTask 是否更新任务状态
     */
    String handle(ThirdPartyCallback thirdPartyCallback, boolean isUpdateTask);
}
